package com.zhongge.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhongge.entity.Holiday;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhongge.vo.HolidayVO;
import org.apache.ibatis.annotations.Update;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author zhongge
 * @since 2025-11-09
 */
public interface HolidayMapper extends BaseMapper<Holiday> {
    //在操作假期表的时候你要想清楚==》这个假期表关联哪一些数据表
    //假期表只是和字典表有关
    //而且 假期表(*) ---  字典表(1)  隶属关系 多的参考(隶属)1的
    //状态和这个假期都是参考字典表中的value值

    //分页显示所有假期数据
    IPage<HolidayVO> pageShowHolidayInfo(Page<HolidayVO> page);


    /**
     * 根据条件更新假期状态为已完成(2)
     *
     * @return 受影响的行数
     */
    @Update("update t_holiday " +
            "set state = 2 " +
            "where state <> 2 " + // 避免重复更新
            "and holiday_dest_register_end < NOW()") // NOW() 是MySQL的当前时间函数
    int updateStateToCompletedAutomatically();
}
